home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / inn-faq / part4 < prev   
Text File  |  1995-07-25  |  19KB  |  511 lines

  1. Subject: INN FAQ Part 4/4: Appendix A: Norman's install guide
  2. Newsgroups: news.software.nntp,news.software.b,news.answers
  3. From: tal@Warren.MENTORG.COM (Tom Limoncelli)
  4. Date: 20 Aug 1994 04:00:21 -0000
  5.  
  6. Posted-By: auto-faq 2.4
  7. Archive-name: inn-faq/part4
  8.  
  9. Last Changed: $Id: FAQ-inn.4,v 1.2 1994/02/04 16:20:28 tal Exp $
  10.  
  11. This is a separate guide for installing INN addressed to 
  12. UNIX and System Administration novices.  It is written for 
  13. installation of INN 1.4 on a Sun SPARCstation 10/30 running 
  14. Solaris 1.1 (SunOS 4.1.3).  This guide is maintained by 
  15. Norman J. Pieniazek (norman@giardia.pdb.cdc.gov).  Please 
  16. send updates and corrections to him.
  17.  
  18. This guide is composed of following parts:
  19.  
  20.   I. SYSTEM REQUIREMENTS
  21.  II. INSTALLATION OF INN 1.4
  22. III. UPGRADING FROM INN 1.3 TO INN 1.4
  23.  IV. MAINTENANCE OF INN
  24.   V. INSTALLATION OF XVNEWS, A SUN OPENWINDOWS
  25.      NEWSREADER
  26.  
  27.  
  28.  
  29. I. SYSTEM REQUIREMENTS
  30.  
  31.   1. INN will not install nor run on Sun SPARCstation under
  32.      plain Solaris 1.1 unless you install some software
  33.      packages and utilities.  Also, your machines IP number
  34.      has to be entered in a Domain Name Service database
  35.      (DNS) to be resolvable.  Ask your Network Administrator
  36.      about DNS or read the O'Reilly & Associates, Inc.
  37.      book: "DNS and BIND by Paul Albitz & Cricket Liu,
  38.      ISBN 1-56592-010-4.
  39.      
  40.      Further, test the resolver on your machine by
  41.      pinging a hostname not entered in your /etc/hosts file.
  42.      For example, type: 
  43.       ping ncbi.nlm.nih.gov
  44.      The response should be:  "ncbi.nlm.nih.gov is alive".
  45.      If you get: "unknown host", consult the O'Reilly book.
  46.    
  47.   2. Be sure to su to root before performing tasks
  48.      outlined below.  Next, check if you have a directory
  49.      /usr/local and about 90 Mb of space in the partition
  50.      where this directory is located.  Create directories:
  51.      /usr/local/bin, /usr/local/lib and /usr/local/man if
  52.      you do not have them.  Add /usr/local/bin to your path
  53.      and /usr/local/man to your MANPATH. 
  54.          
  55.   3. INN uses gnu versions of grep, awk and sed.  Moreover,
  56.      it is  recommended to compile INN with the gnu
  57.      versions of make and the gnu gcc compiler instead of
  58.      the Sun's unbundled cc compiler.  If you don't have
  59.      the gnu software package, create a directory
  60.      /usr/local/gnu, cd to this directory and ftp to
  61.      aeneas.mit.edu (18.71.0.38). Go to
  62.      directory /pub/gnu and get the following files
  63.      (versions as of February 4, 1994):
  64.  
  65.       bison      bison-1.22.tar.gz    
  66.       gawk       gawk-2.15.4.tar.gz
  67.       gcc        gcc-2.5.8.tar.gz
  68.       grep       grep-2.0.tar.gz
  69.       gzip       gzip-1.2.4.tar
  70.       make       make-3.70.tar.gz
  71.       patch      patch-2.1.tar.gz
  72.       perl      perl-4.036.tar.gz
  73.       sed        sed-2.03.tar.gz
  74.       texinfo    texinfo-3.1.tar.gz
  75.  
  76.      Installation of these programs is quite complicated,
  77.      but is really beneficial.  After you complete the
  78.      installation, check if older versions of these programs
  79.      are not present somewhere in your path.  Delete or
  80.      rename these old versions.
  81.  
  82.    a. Start with gzip.  In /usr/local/gnu type:
  83.       "tar xvf gzip-1.2.4.tar".  A directory gzip-1.2.4 will
  84.       be created.  Change to this directory and type:
  85.       "sh ./configure".  Next, edit the Makefile
  86.       with the vi editor and change the line starting with
  87.       "CC" to read: "CC = cc". Then, type: "make".
  88.       Compilation should complete without errors.  Finally,
  89.       type: "make install" to complete installation of gzip,
  90.       gunzip, and other utilities in /usr/local/bin.     
  91.   
  92.    b. Compile and install texinfo - info, makeinfo, the GNU
  93.       hypertext system.  Makeinfo is needed for successful
  94.       installation of many GNU programs and utilities.
  95.       In /usr/local/gnu type: "gunzip texinfo-3.1.tar.gz".
  96.       Next, type: "tar xvf texinfo-3.1.tar".  A directory
  97.       texinfo-3.1 will be created.  Cd to this directory
  98.       and type: "sh ./configure".  Next, edit the Makefile
  99.       as described above for gzip.  Now, type: "make"
  100.       and ignore any non-fatal errors.  Finally, type:
  101.       "make install".
  102.  
  103.    c. Uncompress, compile and install gnu make.  Follow the
  104.       steps described for texinfo.  Gnu make will install in
  105.       /usr/local/bin.  To disable Sun's make, cd to /usr/bin
  106.       and type: "mv make make.sun".
  107.  
  108.    d. Compile and install bison following the procedure
  109.       described for texinfo.
  110.  
  111.    e. Uncompress gcc.  Cd to /usr/local/gnu/gcc-2.5.8 and
  112.       type:
  113.         sh ./configure --target=sparc-sun-sunos4.1
  114.       Next type:
  115.         make LANGUAGES=c
  116.       This step will take about 17 minutes to complete.
  117.       Ignore warnings reported for insn-emit.c.  Next, type:
  118.         make stage1
  119.       Ignore reported non-fatal errors.  Next, type:
  120.         make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O"\
  121.         LANGUAGES=c
  122.       This step will take about 19 minutes to complete.
  123.       Next, type:
  124.         make stage2
  125.       Ignore reported non-fatal errors.  Next, type:
  126.         make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O"\
  127.         LANGUAGES=c
  128.       In this step, which lasts about 13 minutes, you will
  129.       make the final stage 3 compiler.  Now type: "make
  130.       compare". No errors should be reported here.  Finally,
  131.       type:
  132.         make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g\
  133.         -O" LANGUAGES=c
  134.       to install the gcc compiler.  It is advisable to
  135.       recompile patch, gzip, texinfo, make and bison with
  136.       gcc.  It will be a good test for proper gcc
  137.       functionality.
  138.  
  139.    f. Uncompress gawk. Cd to directory gawk-2.15.4 and type:
  140.         ./configure sunos41
  141.       Next type: "make".  When gawk will compile, type:
  142.         make install
  143.       Finally, disable Sun's awk by typing:
  144.         mv /usr/bin/awk /usr/bin/awk_sun
  145.       and create a link to gawk for awk by typing:
  146.         ln -s /usr/local/bin/gawk /usr/bin/awk
  147.  
  148.    g. Uncompress grep.  Cd to directory grep-2.0 and type:
  149.         ./configure
  150.       Next type: "make" and "make install".  Grep will
  151.       also be installed in /usr/local/bin as fgrep
  152.       and egrep.  Finally, as some programs expect to find
  153.       grep, egrep and fgrep in /usr/bin, disable Sun's grep
  154.       and create appropriate links, just like described
  155.       for awk.  INN expects to find a program "egnugrep" in
  156.       /usr/local/bin.  Create it by typing:
  157.          cp /usr/local/bin/egrep /usr/local/bin/egnugrep
  158.  
  159.    h. Uncompress sed and patch.  Compile and install these
  160.       utilities following the instructions for grep.
  161.  
  162.  
  163.    i. INN comes with some scripts written in the perl
  164.       language.  Uncompress perl, cd to directory perl-4.036
  165.       and type:
  166.        sh ./Configure -d
  167.       and hit Return for default answers to all questions.
  168.       Next, type: "make depend", then "make".  Now type:
  169.        make test
  170.       to check, if perl works without errors.  Finally,
  171.       type:
  172.        make install
  173.       to complete installation of perl.
  174.  
  175.  
  176.  
  177. II. INSTALLATION OF INN 1.4
  178.  
  179.  
  180.   1. As root, create directories: /usr/local/inn1.4 (this
  181.      will be your $inn directory) and /usr/local/news.
  182.  
  183.   2. Cd to $inn. Get: inn1.4sec.tar.Z from ftp.uu.net
  184.      (192.48.96.9).  This file is in the directory:
  185.      /networking/news/nntp/inn.   As for all files, please
  186.      remember to set the file type in ftp to binary.
  187.  
  188.   3. From the same source and directory get the Frequently
  189.      Asked Questions (FAQ) files:
  190.        faq-inn-1.Z
  191.        faq-inn-2.Z
  192.        faq-inn-3.Z
  193.        faq-inn-4.Z (this file)
  194.        faq-nov.Z
  195.  
  196.   4. To uncompress the FAQ files type: "uncompress faq-*.
  197.      Print the FAQs and read them before proceeding further.
  198.  
  199.   6. In $inn type: "zcat inn1.4sec.tar.Z | tar xvf -".  This
  200.      will install inn files for compilation.
  201.  
  202.   7. Change directory to $inn/config, and type:
  203.        cp config.dist config.data
  204.        chmod 644 config.data
  205.      Now use the vi editor to edit config.data.  You should
  206.      select gcc as the compiler by changing the line that
  207.      starts with "CC" to read "CC   gcc".  Many lines in
  208.      config.data define the location of various files
  209.      and directories.  It's OK to leave defaults, but
  210.      check if you have ample space in the partition
  211.      where the articles will be stored (/var/spool).  More
  212.      information on where INN expects to find certain files
  213.      is in: $inn/samples/innshellvars.  If necessary, edit
  214.      the config.data and innshellvars to reflect your
  215.      configuration.  Please make sure that specified
  216.      directories and utilities exist on your system.
  217.     
  218.   8. Change directory to $inn.  Type: "make world".  Now
  219.      type:
  220.        cat */lint
  221.      Here, you will get a list of compiler warnings and
  222.      errors.  In addition, "make" created in this step
  223.      a file:  "$inn/Install.ms".  Print it by typing:
  224.        nroff -ms Install.ms | lpr
  225.      Install.ms is a manual for installation of INN written
  226.      by Rich Salz, the author of INN.  There is a lot of
  227.      important and interesting information in his manual.
  228.  
  229.   9. If you got no fatal errors from make, go to the
  230.      $inn/site directory
  231.      and type: "make all".
  232.  
  233.  10. There are some scripts and control files listed in
  234.      inn-faqs and Install.ms that may be modified at this
  235.      point.  For most installations, the default settings
  236.      are OK.
  237.  
  238.  11. Now cd to $inn and type: "make install" to complete
  239.      basic installation of INN.
  240.  
  241.  12. To finish installation of INN, run the BUILD script
  242.      in the $inn directory by typing "sh BUILD".  This
  243.      script will ask a series of configuration questions
  244.      that are easy to answer.  Please note that if your have
  245.      "history.*" files in your /usr/local/news directory
  246.      from a previous or failed installation of INN, the
  247.      BUILD script will not complete.  Rename them to
  248.      "old.history.*" and re-run the BUILD script.
  249.  
  250.  13. You need a site that will feed news to you.
  251.      This will depend on your geographic location and
  252.      organization.  Ask a System Administrator of a site
  253.      close to you for hints.
  254.  
  255.  14. Ftp to your newsfeeding site and get the "active" file
  256.      from there.  Place this file in your /usr/local/news
  257.      directory and edit it to your taste.  Remember to
  258.      include the "control" and "junk" newsgroups.  Also, you
  259.      have to edit the following files in /usr/local/news:
  260.      newsfeeds, hosts.nntp and nnrp.access.
  261.  
  262.  15. To check for syntax errors in INN control files,
  263.      file ownership, permissions and other things type:
  264.        /usr/bin/perl /usr/local/news/bin/inncheck
  265.      and correct any errors reported by inncheck.
  266.  
  267.  16. Look at the file "rc.news" in /usr/local/etc.
  268.      It's advisable to enable the innwatch utility.
  269.      Innwatch will throttle the newsserver when your disk
  270.      will get full and prevent crashes.  Change the line
  271.      starting with "DOINNWATCH" to read "DOINNWATCH=true".
  272.      Now type: "sh /usr/local/etc/rc.news"
  273.      and look in /var/log/syslog for errors.  Also, type:
  274.        ps -aux| grep news
  275.      and check, if the innd process owner is news.
  276.  
  277.  17. In /etc/aliases create an entry: "usenet: <you, or
  278.      root>".  Next type: "/usr/ucb/newaliases" to inform the
  279.      sendmail program that the aliases file has changed.
  280.      If you are running YP (NIS) on your network, you may
  281.      optionally add the "usenet" alias to your YP aliases
  282.      file.  If the machine you are installing INN on is the
  283.      YP master and the file "/etc/aliases" is the source of
  284.      the YP aliases map, you should type: "cd /var/yp"
  285.      followed by "make".  Reboot and restart innd (see #16). 
  286.    
  287.  
  288.  18. To get daily reports on the newsserver activity from
  289.      the "news.daily" script and to enable the "expire"
  290.      utility type: "/bin/crontab -e news" and insert the
  291.      following line:
  292.        40 23 * * * /usr/local/news/bin/news.daily delayrm
  293.      or, if you are using overchan (in newsfeeds):
  294.        40 23 * * * /usr/local/news/bin/news.daily delayrm\
  295.        expireover
  296.  
  297.  19. To set-up complete logging of the server activities
  298.      and have them ready for a report by the "news.daily"
  299.      script, you have to edit your /etc/syslog.conf file.
  300.      Insert at the end of this file the content of
  301.      the syslog.conf file written by Rich Salz.  This file
  302.      is in: $inn/syslog.  Please check, if you have the
  303.      directories and files mentioned in Rich's syslog.conf.
  304.  
  305.  20. Run tests from your machine to the server (to your
  306.      machine at telnet port 119).  See inn-faqs for details.
  307.  
  308.  21. After completing these test, be sure to delete the
  309.      entry for your machine from the hosts.nntp file.  If
  310.      you will not do it, your machine will be treated as a
  311.      "feeder" and not as a "reader".
  312.  
  313.  22. Set posting. 
  314.  
  315.       a. Edit the /usr/local/news/newsfeeds file and add:
  316.            <alias for your feed>/<full address of feed\
  317.            :*\ (for all local postings)
  318.            :Tf,Wnm: (standard entry)
  319.  
  320.       b. Edit /usr/local/news/nntpsend.ctl file and add:
  321.            <alias for your feed>:<full address of feed>::\
  322.            -T1800 -t300
  323.  
  324.       c. Type: "/bin/crontab -e news" and insert a line:
  325.            0,10,20,30,40,50 * * * *\
  326.             /usr/local/news/bin/nntpsend
  327.   
  328.       d. Run inncheck (see #15).
  329.  
  330.       e. Post to misc.test and include "reply" in the
  331.          Subject line, automatic responses will be mailed to
  332.          usenet (see #17) within a few minutes.
  333.  
  334.  23. To start innd automatically at bootup, include at the
  335.      end of your rc.local the following lines:
  336.  
  337.       #
  338.       # Start INN news service - Internet News Daemon (innd)
  339.       #
  340.       if [ -f /usr/local/etc/rc.news ]; then
  341.          /usr/local/etc/rc.news; echo "Starting INN news
  342.                  service"
  343.       fi
  344.  
  345.  24. Watch the news.daily reports in your mail for any
  346.      additional errors.  To run the news.daily script
  347.      at any time manually, FIRST SU FROM ROOT TO "news"
  348.      and type: "/usr/local/news/news.daily".  A mail to
  349.      "usenet" should arrive within a couple of minutes
  350.      and may report important configuration problems.
  351.  
  352.  
  353. III. UPGRADING FROM INN 1.3 TO INN 1.4
  354.  
  355.   1. Stop the server.  Type:
  356.        ctlinnd shutdown "upgrade"
  357.  
  358.   2. Create a directory /usr/local/inn1.4, this will be
  359.      your $inn directory.  cd to $inn.  Next, ftp to
  360.      ftp.uu.net, cd to directory: /networking/news/nntp/inn
  361.      and get the following files:
  362.  
  363.         inn1.4sec.tar.Z
  364.         faq-inn-1.Z
  365.         faq-inn-2.Z
  366.         faq-inn-3.Z
  367.         faq-inn-4.Z (this file)
  368.         faq-nov.Z
  369.      Uncompress and print the FAQs.  Next, type:
  370.         zcat inn1.4sec.tar.Z | tar xvf -
  371.  
  372.      Print the README file.  To print the Install file,
  373.      type: "make Install.ms" followed by:
  374.         nroff -ms Install.ms | lpr
  375.  
  376.   3. Now, cd to $inn/config and type the following commands:
  377.         make subst
  378.         cp config.dist config.data
  379.         ./subst -f {OLDFILE} config.data
  380.      where {OLDFILE} is the location of config.data in your
  381.      INN 1.3 directory.  Be sure to check, if in your old
  382.      config.data the "CC" line reads "CC  gcc".
  383.      Ignore warnings about new lines.  Next, type:
  384.         make sedtest
  385.      No errors should be reported here.  Now, cd to $inn
  386.      and type this series of commands:
  387.         make quiet
  388.         cd ../lib
  389.         make libinn.a lint
  390.         cd ../frontends
  391.         make all
  392.         cd ../innd
  393.         make all
  394.         cd ../nnrpd
  395.         make all
  396.         cd ../backends
  397.         make all
  398.         cd ../expire
  399.         make all
  400.         cd ../site
  401.         make all
  402.         cd ..
  403.         make update
  404.  
  405.   4. Restart innd.
  406.  
  407.  
  408. IV. MAINTENANCE OF INN
  409.  
  410.  1. Adding new groups - see also Part IV, Section 3.b,:
  411.  
  412.      a. Type: "ctlinnd pause 'edit active'"
  413.  
  414.      b. Edit the active file.  The format is:
  415.           groupname himark lomark flag.
  416.         Set himark to 0000000000 and lomark to 0000000001.
  417.  
  418.     c. Run inncheck (see #11) to check the new active file
  419.        for errors. 
  420.   
  421.     d. Type: "ctlinnd reload active 'new active'".
  422.  
  423.     e. Type: "ctlinnd go 'edit active'".
  424.  
  425.  
  426.  2. New groups are sometimes added automatically through
  427.     a control message.  A mail message to usenet will alert
  428.     to such an automatic change to the active file.  If you
  429.     do not want to subscribe to a particular news group,
  430.     change directory to /usr/local/news and type:
  431.       ctlinnd rmgroup <group name>
  432.  
  433.  3. Sometimes, a mail message will arrive for usenet with
  434.     a checkgroups file.  Remove header, save the body of
  435.     the message in:
  436.       /usr/local/news/bin/control/news_control/news_control_
  437.                     todaysdate
  438.     cd to that directory and type:
  439.       ../docheckgroups <news_control_todaysdate
  440.              >todaysdate_pre
  441.     Read the output file (todaysdate_pre) and carry out all 
  442.     the instructions that you think pertain to your
  443.     situation.  Read the man pages for "active" and "ctlinnd"
  444.     for more info.  To implement the changes, you will have to
  445.     change to the directory: /usr/local/news and:  
  446.     
  447.      a. remove a discontinued group:
  448.           type: "ctlinnd rmgroup <group name>"
  449.  
  450.      b. add a group:
  451.         type: "ctlinnd newgroup <group name> flag <creator
  452.                                            name>"
  453.  
  454.      c. mark a group correctly:
  455.         type: "ctlinnd changegroup <group name> flag"
  456.  
  457.     Run inncheck and repeat the docheckgroups command from
  458.     the /usr/local/bin/control/news_control directory
  459.     by typing:
  460.       ../docheckgroups <news_control_todaysdate
  461.                                 >todaysdate_after
  462.     Correct any reported problems.  Also, you may have to
  463.     edit the /usr/local/news/newsgroups file to reflect
  464.     any changes you introduced.
  465.  
  466.  4. Subscribe to and read the following newsgroups:
  467.       news.software.nntp
  468.       news.software.readers
  469.       
  470.  
  471.  5. IMPORTANT!!! Never run fsck on the drive where the
  472.     /spool/news files are located while running INN.  Innd
  473.     has a lot of active disk I/O going on and fsck will show
  474.     a lot of errors.
  475.     Use ctlinnd to throttle,  pause, or shutdown innd first
  476.     - see the manual page for ctlinnd.
  477.  
  478.  
  479.   V. INSTALLATION OF XVNEWS, A SUN OPENWINDOWS
  480.      NEWSREADER
  481.  
  482.    1. Create a directory /usr/local/xvnews2.1 and cd to this
  483.       directory.
  484.  
  485.    2. Ftp to dutiws.twi.tudelft.nl and get the file
  486.       xvnews.tar.gz from directory /pub/news.
  487.  
  488.    3. Ungzip and untar xvnews.
  489.  
  490.    4. Use your vi editor and edit the file xvnews.h
  491.       You will need to enter your settings for:
  492.         DOMAIN         (on my machine: "pdb.cdc.gov")
  493.         ORGANIZATION   (on my machine: "Centers for Disease
  494.                           Control Atlanta, GA, USA")
  495.         NNTPSERVER     (on my machine:
  496.                                "giardia.pdb.cdc.gov")
  497.       These defaults can be overridden by environment
  498.       variables (see the xvnews man page).
  499.  
  500.    5. Compile xvnews by typing: "make".  I get some errors
  501.       on my system, but the program runs OK.  Copy xvnews
  502.       to /usr/local/bin and xvnews.man to directory:
  503.       /usr/local/man/man1 as xvnews.1
  504.  
  505. -- 
  506.     Tom Limoncelli -- tal@warren.mentorg.com (work) -- tal@plts.org (play)
  507.  
  508.                    The internet is like a box of chocolates.
  509.  
  510.  
  511.